﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace BatallaNavalgo
{
    public class Casilla
    {
        private int[] posicion;
        private List<Disparo> disparos;
        private bool explotó;


        /****************************************************/

        public Casilla(int[] posicion)
        {
            this.posicion = posicion;
            this.disparos = new List<Disparo>();
            this.explotó = false;
        }

        /****************************************************/

        public List<Disparo> Disparos
        {
            get{ return this.disparos; }
        }

        /****************************************************/

        public void AlmacenarDisparo(Disparo disparo)
        {
            this.disparos.Add(disparo);
        }

        /****************************************************/

        public int[] Posicion
        {
            get { return this.posicion; }
            set { this.posicion = value; }
        }

        /****************************************************/

        public void PasarTurno()
        {
            List<Disparo> lista = new List<Disparo>();
            int count = 0;
            foreach (Disparo disparo in this.disparos)
            {
                disparo.PasarDeTurno();
                if (disparo.Turno == -1)
                {
                    this.explotó = true;
                    lista.Add(disparo);
                }
                count++;
            }
            foreach (Disparo disparo in lista)
                this.disparos.Remove(disparo);
        }

        /****************************************************/

        public bool TieneDisparo()
        {
            foreach (Disparo disparo in this.disparos)
                if (disparo.Turno >= 0)
                    return true;
            return false;
        }

        /****************************************************/

        public bool TieneDisparoParaImpactar()
        {
            if (this.explotó)
            {
                this.explotó = false;
                return true;
            }
            else return false;
        }

     
    }
}
